package com.wlyuan.open.dto;

import com.wlyuan.open.OpenBaseSyncDTO;
import com.wlyuan.open.dto.contract.ContractParticipantDTO;
import com.wlyuan.open.dto.order.OrderAttachDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author lijing
 * @description
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class OpenContractSyncDTO extends OpenBaseSyncDTO implements Serializable {

    private static final long serialVersionUID = 3300315300191369716L;
    @ApiModelProperty("合同id")
    private Long contractId;
    @ApiModelProperty("合同编号")
    private String code;
    @ApiModelProperty("合同名称")
    private String name;
    @ApiModelProperty("合同内容")
    private String content;
    @ApiModelProperty("合同有效期开始")
    private LocalDate startDate;
    @ApiModelProperty("合同有效期结束")
    private LocalDate endDate;
    @ApiModelProperty("合同状态  0 草稿 1 待审核  2 已审核 16.已关闭")
    private Integer status;
    @ApiModelProperty("状态修改时间")
    private LocalDateTime statusUpdateAt;

    @ApiModelProperty("甲方")
    private ContractParticipantDTO first;
    @ApiModelProperty(value = "乙方")
    private ContractParticipantDTO second;

    @ApiModelProperty("备注")
    private String comments;
    @ApiModelProperty("乙方类型 0 普通公司 1 个体司机")
    private Integer type;
    @ApiModelProperty("合同文件云存储url")
    private String url;
    @ApiModelProperty("签署电子合同证据链地址(公司和司机)")
    private String evidenceUrl;
    @ApiModelProperty("是否使用电子签章 0 否 1 是")
    private Integer signature;

    @ApiModelProperty("合同附件")
    private List<OrderAttachDTO> attachments;

    @ApiModelProperty("创建人id")
    private Long createBy;
    @ApiModelProperty("创建时间")
    private LocalDateTime createAt;
    @ApiModelProperty("更新时间")
    private LocalDateTime updateAt;
}
